/*
 Rilego - An easy Images 2 E-Book converter.
Copyright (C) 2011  Federico Improta (Kirys)

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
*/

package it.kirys.rilego.engine.loaders;

import it.kirys.rilego.engine.loaders.imagesources.IImageSource;
import it.kirys.rilego.engine.project.Project;
import java.util.List;

/**
 *
 * @author Federico Improta
 */
public interface ILoader {
	/**
	 * Return a readable identifier of the loader
	 * @return a string containing the identifier
	 */
	String getIdentifier();

	/**
	 * Generate the source full identifier for a source loaded from this loader
	 * @param source child source
	 * @return identifier generated
	 */
	String generateSourceFullIdentifier(IImageSource source);
	/**
	 * get all sources of this loader
	 * @return a list of all the sources
	 */
	List<IImageSource> getSources();

	/**
	 * add this source to a project.
	 * @param project destination project
	 */
	void addToProject(Project project);

}
